package 替换所有的问号;

class Solution {

    //初次尝试
    public String modifyString(String s) {
        char[] str = s.toCharArray();
        for (int i = 0; i < str.length; i++) {
            while (i < str.length && str[i] == '?'){
                char tmp = 'a';
                if (i != 0 && i != str.length - 1 && str[i + 1] !='?'){
                    while (tmp == str[i - 1] || tmp == str[i + 1]){
                        tmp++;
                    }
                } else if (i == 0 && i != str.length - 1 && str[i + 1] != '?') {
                    if (tmp == str[i + 1]){
                        tmp++;
                    }
                } else if (i != 0 && i == str.length - 1) {
                    if (tmp == str[i - 1]){
                        tmp++;
                    }
                } else if (i != 0 && i != str.length - 1 && str[i + 1] == '?') {
                    if (tmp == str[i - 1]){
                        tmp++;
                    }
                }
                str[i] = tmp;
                i++;
            }
        }
        String ret = new String(str);
        return ret;
    }

    //代码优化
    public String modifyString2(String s) {
        char[] str = s.toCharArray();
        for (int i = 0; i < str.length; i++) {
            if (str[i] == '?'){
                for (char tmp = 'a'; tmp <= 'z'; tmp++){
                    if ((i == 0 || tmp != str[i - 1]) && (i == str.length - 1 || tmp != str[i + 1])){
                        str[i] = tmp;
                        break;
                    }
                }
            }
        }
        return String.valueOf(str);
    }
}